
import java.awt.Point;


public class MoverRectoEnVertical {
	
	boolean haciaAdelante;
	float radio;
	
	public MoverRectoEnVertical(float radioDeColision){
		
		radio = radioDeColision;
		haciaAdelante = true;
	}
	
	//Verifica la direccion actual y la invierte.
	public void invertirDireccionDeMovimiento(){
		
		if(haciaAdelante == true)
			haciaAdelante = false;
		else
			haciaAdelante = true;
	
	}
	
	
	public Point mover(Point posicionActual){
		
		Point limiteMaximo;
		Point limiteMinimo;	
		
		limiteMaximo = limitesDeMovimiento.getLimiteMaximo();
		limiteMinimo = limitesDeMovimiento.getLimiteMinimo();
		
		//Verificamos los limites superior e inferior, y llegado el caso invierto la direccion de movimiento
		if((posicionActual.getY()) - (limiteMinimo.getY()) <= (3*radio)|((limiteMaximo.getY())-(posicionActual.getY()) <= radio))
			this.invertirDireccionDeMovimiento();
		
		//Desplazamos el movil
		if(haciaAdelante)
			posicionActual.translate(0, -2);
		else
			posicionActual.translate(0, 2);
		
		return posicionActual;
	}
	
	
	
}
